import request from '../../utils/request';
import config from '../../config';
Page({
  data: {
    avatarUrl: '', // 用于存储用户选择的头像临时路径
    nickName: '',   // 用于存储用户输入的昵称
    defaultAvatar: 'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0' // 设置一个默认头像的路径，请确保该路径下有图片资源
  },

  onLoad(options) {
    this.setData({
      avatarUrl: wx.getStorageSync('userInfo').profileLmg,
      nickName: wx.getStorageSync('userInfo').nickName
    });
  },

  // 当用户点击头像区域，选择头像后的回调
  onChooseAvatar(e) {
    console.log('onChooseAvatar event:', e);
    const { avatarUrl } = e.detail;
    // 微信小程序中，chooseAvatar 会返回一个临时路径
    // 这个路径可以直接用于 <image> 组件的 src
    this.setData({
      avatarUrl: avatarUrl,
    });
    // 通常，你需要将这个 avatarUrl 上传到你的服务器，换取一个永久的 URL
    wx.uploadFile({
      url: config.BASE_URL + 'api/login/upload',
      fileType: 'image',
      filePath: avatarUrl,
      name: 'file',
      header: {
        'Authorization': 'tf: ' + wx.getStorageSync('token')
      },
      success: (res) => {
        let data = JSON.parse(res.data);
        if (data.code == 200) {
          this.setData({
            avatarUrl: data.data.url
          });
        } else {
          wx.showToast({
            title: data.message,
            icon: 'none'
          });
        }
      },
      fail: (error) => {
        wx.showToast({
          title: '上传失败',
          icon: 'none'
        });
      }
    })
  },

  // 用户输入昵称时触发，实时更新 nickName
  onNicknameInput(e) {
    console.log('onNicknameInput event:', e);
    this.setData({
      nickName: e.detail.value
    });
  },

  // 点击保存按钮的事件处理函数
  saveUserInfo() {
    const { avatarUrl, nickName } = this.data;
    console.log('保存用户信息:', { avatarUrl, nickName });

    if (!nickName) {
      wx.showToast({
        title: '昵称不能为空',
        icon: 'none'
      });
      return;
    }
    if (!avatarUrl) {
      wx.showToast({
        title: '头像不能为空',
        icon: 'none'
      });
      return;
    }

    // 这里通常是调用 wx.uploadFile 上传头像（如果 avatarUrl 是临时路径且有变动）
    // 然后调用 wx.request 将 avatarUrl (可能是上传后的永久URL) 和 nickName 发送到后端服务器
    wx.showLoading({
      title: '保存中...',
    });

    request({
      url: 'api/login/updateUser',
      method: 'POST',
      data: {
        profileLmg: avatarUrl,
        nickName: nickName
      }
    }).then(res => {
      console.log(res);
      if (res.code == 200) {
        request({
          url: 'api/login/getLoginInfo',
          method: 'POST',
        }).then(res => {
          if (res.data) {
            wx.setStorageSync('userInfo', res.data);
          }
          wx.showToast({
            title: '保存成功',
            icon: 'success'
          });
          setTimeout(() => {
            wx.navigateBack();
          }, 1500);
        });
      }
    }).catch(err => {
      console.log(err);
    })
  }
}) 